Package de.yaams.maker.helper.gui.form

Source Code of de.yaams.maker.helper.gui.form.FormTextFieldButton

/**
*
*/
package de.yaams.maker.helper.gui.form;

import java.awt.BorderLayout;

import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;

import de.yaams.maker.helper.gui.AE;
import de.yaams.maker.helper.gui.YFactory;
import de.yaams.maker.helper.language.I18N;

/**
* @author Nebli
*
*/
public class FormTextFieldButton extends FormTextField {

  protected JLabel rightButton;
  protected JComponent preview;

  /**
   * Create a new FormTextField
   *
   * @param title
   * @param content
   */
  public FormTextFieldButton(String title, String content) {
    super(title, content);

    addChangeListener(new FormElementChangeListener() {

      @Override
      public void stateChanged(FormElement form) {

        // reload icon preview while typing
        updatePreview();

      }
    });
  }

  /**
   * @return the element
   */
  @Override
  protected JComponent getInternElement() {
    JPanel p = new JPanel(new BorderLayout());
    p.add(super.getInternElement(), BorderLayout.CENTER);
    // add select button
    if (rightButton != null) {
      p.add(rightButton, BorderLayout.EAST);
    }

    // add preview
    if (preview != null) {
      p.add(preview, BorderLayout.WEST);
    }

    return p;

  }

  /**
   * Create the button
   *
   * @param icon
   * @param title
   */
  protected void createRightButton(String icon, String title) {
    rightButton = YFactory.tb(I18N.t("Datei auswählen"), "folder", new AE() {

      @Override
      public void run() {
        runRightButton();
        updatePreview();
      }
    });
  }

  /**
   * Helpermethod to run the button
   */
  protected void runRightButton() {};

  /**
   * Helpermethod to run the button
   */
  protected void updatePreview() {
    if (preview != null) {
      preview.updateUI();
    }
  }

  /**
   * @param preview
   *            the preview to set
   */
  public void setPreview(JComponent preview) {
    this.preview = preview;
  };

  /**
   * En/Disable
   *
   * @param value
   * @return
   */
  @Override
  public FormElement setEnabled(boolean value) {
    rightButton.setEnabled(value);
    return super.setEnabled(value);
  }
}
TOP

Related Classes of de.yaams.maker.helper.gui.form.FormTextFieldButton

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.